package com.tinet.autentia.autentificador.model;

import java.io.Serializable;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;

/**
 * Version2
 * Clase usuario principal.
 * 
 * @author Naht-Sams
 */
@Entity
@Table(name = "Usuario")
public class Usuario implements Serializable {

    /**
     * Serial version default.
     */
    protected static final long serialVersionUID = 1L;

    /**
     * Rut del usuario. Primary key en DB.
     */
    @Id
    @Column(name = "rut")
    protected int rut;

    /**
     * Digito verificador de rut.
     */
    @Column(name = "dv")
    protected String dv;

    /**
     * Nombre completo o simple de usuario.
     */
    @Column(name = "nombres")
    protected String nombres;

    /**
     * Apellidos del usuario.
     */
    @Column(name = "apellidos")
    protected String apellidos;

    /**
     * username del usuario.
     */
    @Column(name = "login")
    protected String login;

    /**
     * Email personal del usuario.
     */
    @Column(name = "correo")
    protected String correo;

    /**
     * Password del usuario.
     */
    @Column(name = "password")
    protected String password;

    /**
     * Borrado logico de usuario. 0 borrado. 1 Activo.
     */
    @Column(name = "activo")
    protected String activo;

    /**
     * Allows to get the rut attribute value.
     * 
     * @return the rut value.
     */
    public final int getRut() {
        return rut;
    }

    /**
     * Allows to set the rut attribute value.
     * 
     * @param rut
     *            new value for rut attribute.
     */
    public final void setRut(int rut) {
        this.rut = rut;
    }

    /**
     * Allows to get the dv attribute value.
     * 
     * @return the dv value.
     */
    public final String getDv() {
        return dv;
    }

    /**
     * Allows to set the dv attribute value.
     * 
     * @param dv
     *            new value for dv attribute.
     */
    public final void setDv(String dv) {
        this.dv = dv;
    }

    /**
     * Allows to get the nombres attribute value.
     * 
     * @return the nombres value.
     */
    public final String getNombres() {
        return nombres;
    }

    /**
     * Allows to set the nombres attribute value.
     * 
     * @param nombres
     *            new value for nombres attribute.
     */
    public final void setNombres(String nombres) {
        this.nombres = nombres;
    }

    /**
     * Allows to get the apellidos attribute value.
     * 
     * @return the apellidos value.
     */
    public final String getApellidos() {
        return apellidos;
    }

    /**
     * Allows to set the apellidos attribute value.
     * 
     * @param apellidos
     *            new value for apellidos attribute.
     */
    public final void setApellidos(String apellidos) {
        this.apellidos = apellidos;
    }

    /**
     * Allows to get the login attribute value.
     * 
     * @return the login value.
     */
    public final String getLogin() {
        return login;
    }

    /**
     * Allows to set the login attribute value.
     * 
     * @param login
     *            new value for login attribute.
     */
    public final void setLogin(String login) {
        this.login = login;
    }

    /**
     * Allows to get the correo attribute value.
     * 
     * @return the correo value.
     */
    public final String getCorreo() {
        return correo;
    }

    /**
     * Allows to set the correo attribute value.
     * 
     * @param correo
     *            new value for correo attribute.
     */
    public final void setCorreo(String correo) {
        this.correo = correo;
    }

    /**
     * Allows to get the password attribute value.
     * 
     * @return the password value.
     */
    public final String getPassword() {
        return password;
    }

    /**
     * Allows to set the password attribute value.
     * 
     * @param password
     *            new value for password attribute.
     */
    public final void setPassword(String password) {
        this.password = password;
    }

    /**
     * Allows to get the activo attribute value.
     * 
     * @return the activo value.
     */
    public final String getActivo() {
        return activo;
    }

    /**
     * Allows to set the activo attribute value.
     * 
     * @param activo
     *            new value for activo attribute.
     */
    public final void setActivo(String activo) {
        this.activo = activo;
    }

    /**
     * Cons.
     * 
     */
    public Usuario() {
        super();
    }
}
